1857B - Maximum Rounding - CodeForces Solution


greedy implementation

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
//#define int long long
typedef pair<int,int> PII;
//const int N = 

void solve()
{
    string s;
    cin>>s;
   
    if(s[0]>='5') 
    {
    	cout<<"1";
    	for(int i=0;i<s.size();i++)
    	{
    		cout<<"0";
		}
		cout<<endl;
		return;
	}
	int j=-1;
    for(int i=s.size()-1;i>=1;i--)
    {
    	if(s[i]>='5') 
    	{
    		s[i-1]++;
    		j=i;
		}
	}
	if(j==-1) cout<<s<<endl;
	else
	{
		if(s[0]>='5') 
	    {
	    	cout<<"1";
	    	for(int i=0;i<s.size();i++)
	    	{
	    		cout<<"0";
			}
			cout<<endl;
			return;
		}
		for(int i=0;i<j;i++)
		{
			cout<<s[i];
		}
		for(int i=j;i<s.size();i++)
		{
			cout<<"0";
		}
		cout<<endl;
	}
	
}
signed main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    {
		solve();
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm